void main() {
  // 列表相当于js中的数组
  // 1. 定义数字列表
  // List nums1 = [1, 2, 3, 4, 5, 6];
  // print(nums1);

  // 2. 定义分类列表
  // List categories = ['家电', '服饰', '数码'];
  // print(categories);

  // 3. 存储任意类型的数据
  // List myList = [
  //   true,
  //   '张三',
  //   [1, 23, 45]
  // ];
  // print(myList);

  // 4. 使用列表：查改增删
  List categories = ['居家', '美食', '服饰', '数码'];

  // 4.1 查询列表长度
  // print(categories.length);

  // 4.2 查询指定的元素
  // print(categories[2]);
  // print(categories[0]);
  // print(categories[categories.length - 1]);

  // 4.3 修改：列表[索引] = 新值
  // categories[categories.length - 1] = '游戏';
  // print(categories);

  // 4.4 新增：列表.add(新元素)、列表.addAll(新列表)
  // categories.add('张三');
  // categories.addAll(['张三', '李四']);
  // print(categories);

  // 4.5 指定位置添加：列表.insert(索引, 内容);
  // categories.insert(0, '张三');
  // categories.insert(categories.length, '李四');
  // print(categories);

  // 4.6 删除：使用元素删除、使用索引删除
  // categories.remove('服饰');
  // categories.removeAt(0);
  // categories.removeLast();
  // categories.removeRange(0, 2);
  // List numList = [1, 2, 3, 4, 5, 6];
  // numList.removeWhere((num) {
  //   return num % 2 != 0;
  // });
  // print(numList);

  // 4.7 遍历列表：读取出列表中每一个元素
  categories.forEach((value) {
    print(value);
  });
}
